using System;
using System.Collections.Generic;
using System.Linq;

namespace RStein.Posterous.API
{
    public interface ITwitterPost : IEntityWithClientState, IPostMediaStreamFunctions
    {
        string Url { get; }
        string Title{ get; }
        string Body { get; }
        string MediaId { get; }
        void AppendMedium(string filePath);
        bool AutopostToTwitter { get; }
        ITwitterAccount TwitterAccount { get; }
        IEnumerable<String> MediaNames { get; }
        ISinglePostInfo GetPostInfo();
        void GetPostInfoAsync();
        event EventHandler<EventArgsValue<ISinglePostInfo>> PostInfoLoaded;
    }
}